The present invention relates to methods and systems for defining and handling user/computer interactions. In particular, the present invention relates to systems that allow for grammar-based recognition of user inputs.
For many years, there has been a great deal of interest in expanding the types of inputs that computing devices can accept and interpret. Examples of these inputs include speech, gestures, handwriting, and natural language. Each of these input types have proven to be difficult to implement because of variations in the way people speak, write, and gesture. Because of these variations, there is always some ambiguity as to what the user was actually trying to communicate.
To determine the meaning of an ambiguous input, it is common to apply the input to one or more models that predict the likelihood of various possible meanings given the input. To reduce the amount of searching that must be performed when using these models, the number of possible meanings that can be represented by the input is limited to a selected grammar. For example, in speech and handwriting recognition, the grammar is a set of allowable word sequences.
The models used to decode such ambiguous inputs often require a large amount of run-time memory and a computing-device with a high-speed processor. As a result, the adoption of such inputs in many computer applications has been limited. Thus, a system is needed that allows for broader adoption of grammar-based recognition while at the same time limiting the amount of computing resources needed to interact with the user.